const {
    FusesPlugin
} = require('@electron-forge/plugin-fuses');
const {
    FuseV1Options,
    FuseVersion
} = require('@electron/fuses');

module.exports = {
    packagerConfig: {
        asar: true,
        // osxSign: {
        //     optionsForFile: (filePath) => {
        //         // Here, we keep it simple and return a single entitlements.plist file.
        //         // You can use this callback to map different sets of entitlements
        //         // to specific files in your packaged app.
        //         return {
        //             entitlements: 'path/to/entitlements.plist'
        //         };
        //     }
        // }
    },
    rebuildConfig: {},
    makers: [{
            name: '@electron-forge/maker-squirrel',
            config: {},
        },
        {
            name: '@electron-forge/maker-zip',
            platforms: ['darwin'],
        },
        {
            name: '@electron-forge/maker-deb',
            config: {},
        },
        {
            name: '@electron-forge/maker-rpm',
            config: {},
        },
    ],
    plugins: [{
            name: '@electron-forge/plugin-auto-unpack-natives',
            config: {},
        },
        // Fuses are used to enable/disable various Electron functionality
        // at package time, before code signing the application
        new FusesPlugin({
            version: FuseVersion.V1,
            [FuseV1Options.RunAsNode]: false,
            [FuseV1Options.EnableCookieEncryption]: true,
            [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
            [FuseV1Options.EnableNodeCliInspectArguments]: false,
            [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
            [FuseV1Options.OnlyLoadAppFromAsar]: true,
        }),
    ],
};